package com.qianya.oa.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import java.io.File;

/**
 * @author lc
 * @date 2021/2/5 11:02
 */
@Configuration
public class WebConfig implements WebMvcConfigurer {

    @Value("${qy.file.access-path-pattern}")
    private String accessPathPattern;

    @Value("${qy.file.upload-folder}")
    private String uploadFolder;

    /**
     * 配置本地文件上传的虚拟路径 备注：这是一种图片上传访问图片的方法，实际上也可以使用Nginx反向代理访问图片
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        // 外部访问地址
        registry.addResourceHandler(accessPathPattern)
                // 表示在磁盘目录下的所有资源会被解析为以上的访问路径，springboot需要增加file协议（只能访问本地计算机文件，好比通过Windows的资源管理器中打开文件或者通过右键单击‘打开’一样）前缀
                .addResourceLocations("file:" + new File(uploadFolder).getAbsolutePath() + File.separator);
//                .setCacheControl(CacheControl.maxAge(30, TimeUnit.MINUTES));// 设置浏览器缓存30分钟

    }
}
